iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0
自我挑戰組

chatGPT 帶你從零開始寫 websocket 連線遊戲系列 第 18

D18 拼裝計畫 - gameLoop 和 websocket

  • 分享至 

  • xImage
  •  

今天的主要工作是整理昨天 D17 chatGPT 產出的扣,然後稍微想一下接下來要怎麼調整程式的寫法?

遊戲進程

  1. server 端初始化遊戲狀態,設定好起始玩家
  2. 以 notify 的方式通知玩家行動、另一位進入等待。server 可以趁這時候發送遊戲的公開狀態給所有玩家,client 端比對並且更新自身遊戲狀態
  3. wait_for 玩家行動,該部分是以 API 形式接收,會驗證 socket.id 當前的玩家是否吻合?當玩家成功完成該回合行動之後,server 發送 update notify 給所有玩家。
  4. 檢查遊戲是否結束?否的話,進行回合輪換工作

server 使用到的 notify

  • 通知玩家開始
  • 通知玩家等待
  • 通知遊戲狀態更新
  • 通知完整遊戲狀態

server 使用的 API

  • 接受玩家行動
  • 接受玩家抽牌
  • 聊天
  • 其他查詢指令

client 特性

  • 需要被通知開始行動才能發送相關的 API
  • 以通知觸發事件,改變 client 內部狀態

以上是初步構想,之後的日子會繼續努力實作 OUO/


上一篇
D17 繼續討論 - 從遊戲循環到狀態機的演進
下一篇
D19 實作日 - 改寫 gameLoop
系列文
chatGPT 帶你從零開始寫 websocket 連線遊戲31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言